package top.csmcool.musicapi.service;

import top.csmcool.musicapi.model.api.navidrome.SongCollection;
import top.csmcool.musicapi.model.playlist.*;
import top.csmcool.musicapi.model.result.Request;
import top.csmcool.musicapi.model.result.Result;

import java.util.List;

/**
 * @Description
 * @Author shizhe
 * @Date 2025/1/27
 */

public interface MusicService {


    Result<List<PlayListMusicInfo>> getTracks(Request<TracksRequest> requestRequest);

    Result<List<LyricInfo>> getLyric(Request<LyricRequest> requestRequest);

    Result<List<SongCollection>> playlist(Request<PlayListRequest> requestRequest);

    Result<List<PlayListMusicInfo>> search(Request<SearchRequest> requestRequest);

    Result<List<SongCollection>> personalizedPlaylist(Request<PlayListRequest> requestRequest);

    Result<SongInfo> getSongUrl(Request<SongUrlRequest> requestRequest);
}
